<?php
/**
 * 系统配置文件
 * 包含数据库连接配置和系统设置
 */

// 错误报告设置
error_reporting(E_ALL);
ini_set('display_errors', 1);

// 会话设置（仅在会话未启动时设置）
if (session_status() === PHP_SESSION_NONE) {
    ini_set('session.cookie_httponly', 1);
    ini_set('session.use_strict_mode', 1);
}

// 时区设置
date_default_timezone_set('Asia/Shanghai');

class Config {
    private static $config = null;
    
    /**
     * 加载配置文件
     */
    public static function load() {
        if (self::$config === null) {
            $configFile = __DIR__ . '/../config.inc.php';
            if (file_exists($configFile)) {
                self::$config = include $configFile;
            } else {
                // 默认配置（安装前使用）
                self::$config = [
                    'db' => [
                        'host' => 'localhost',
                        'username' => 'root',
                        'password' => '',
                        'database' => 'worklog_kukudb_c',
                        'charset' => 'utf8mb4'
                    ],
                    'system' => [
                        'title' => '考勤管理系统',
                        'version' => '1.0.0',
                        'debug' => true
                    ]
                ];
            }
        }
        return self::$config;
    }
    
    /**
     * 获取配置值
     */
    public static function get($key, $default = null) {
        $config = self::load();
        $keys = explode('.', $key);
        $value = $config;
        
        foreach ($keys as $k) {
            if (isset($value[$k])) {
                $value = $value[$k];
            } else {
                return $default;
            }
        }
        
        return $value;
    }
    
    /**
     * 获取数据库配置
     */
    public static function getDatabaseConfig() {
        return self::get('db');
    }
    
    /**
     * 获取系统配置
     */
    public static function getSystemConfig() {
        return self::get('system');
    }
}

// 自动加载配置
Config::load();
?>
